﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DALEntities;
using System.Collections.Specialized;
using MapEntities;

namespace ServerPlatform.DataProvider
{
    //public enum ProviderSource
    //{
    //    SQLServer,
    //    Sharepoint,
    //    AnalysisServices
    //}

    public abstract class BaseDataProvider : System.Configuration.Provider.ProviderBase
    {
        public override void Initialize(string name, NameValueCollection config)
        {
            base.Initialize(name, config);            
            
        }

        public abstract List<ViewSchema> GetViews();
        public abstract void Connect(string connectionString);
        public abstract ViewResult GetViewResult(ViewRequest request);
        public abstract ProviderSource Source { get; }
        public abstract ViewSchemaList GetSchema(SchemaRequest request);



        //public abstract List<Shape> GetShapes(ViewRequest request);

        public abstract MapEntities.Shape GetShape(object data, ShapeItemBindingRule rule);
    }
}
